{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "3c57c7d1",
   "metadata": {},
   "source": [
    "# 项目背景"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "470c4771",
   "metadata": {},
   "source": [
    "客户流失是所有与消费者挂钩行业都会关注的点。因为发展一个新客户是需要一定成本的，一旦客户流失，除了浪费拉新成本，还需要花费更多的用户召回成本。\n",
    "所以，电信行业在竞争日益激烈当下，如何挽留更多用户成为一项关键业务指标。为了更好运营用户，这就要求要了解流失用户的特征，分析流失原因，预测用户流失，确定挽留目标用户并制定有效方案。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6f04f6a8",
   "metadata": {},
   "source": [
    "# 明确分析问题\n"
   ]
  },
  {
   "cell_type": "raw",
   "id": "6f53a79a",
   "metadata": {},
   "source": [
    "1. 分析用户特征与流失的关系\n",
    "2.从整体情况看，流失用户具有哪些共同的特征\n",
    "3.尝试找到合适的模型预测流失用户\n",
    "4.针对性给出增加用户粘性，预防流失的建议"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4cebde55",
   "metadata": {},
   "source": [
    "# 理解数据"
   ]
  },
  {
   "cell_type": "raw",
   "id": "42a68545",
   "metadata": {},
   "source": [
    "##数据各个字段的解释\n",
    "customerID        ：用户ID\n",
    "gender           ：性别（male 男/female 女） \n",
    "SeniorCitizen      ：老年人\n",
    "Partner          ：是否有配偶（yes/no）\n",
    "Dependents        ：非独立生活（yes/no）\n",
    "tenure           ：入网时间（单位月）\n",
    "PhoneService       ：是否开通电话服务（yes/no）\n",
    "MultipleLines       ：是否开通多线业务（yes/no）\n",
    "InternetService     ：是否开通网络服务（yes/no）\n",
    "OnlineSecurity      ：是否开通网络安全服务（yes/no）\n",
    "OnlineBackup       ：是否开通在线备份服务（yes/no）\n",
    "DeviceProtection     ：是否开通设备保护业务（yes/no） \n",
    "TechSupport        ：是否开通技术支持服务（yes/no）\n",
    "StreamingTV        ：是否开通网络电视业务（yes/no）\n",
    "StreamingMovies     ：是否开通在线电影业务（yes/no）\n",
    "Contract          ：签订会员的方式（月，一年，两年）\n",
    "PaperlessBilling     ：是否开通电子账单（yes/no）\n",
    "PaymentMethod       ：付款方式（Bank transfer/Credit card/Electronic check/Mailed check）\n",
    "MonthlyCharges      ：每月的费用\n",
    "TotalCharges       ：总费用\n",
    "Churn            ：用户是否流失（yes/no）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0f404f06",
   "metadata": {},
   "source": [
    "# 数据清洗"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed9bf11e",
   "metadata": {},
   "source": [
    "## 导入数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "6725af9a",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import os\n",
    "import seaborn as sns\n",
    "from scipy import stats\n",
    "from sklearn.preprocessing import LabelEncoder #标签编码\n",
    "from sklearn.preprocessing import StandardScaler  #去均值和方差归一化\n",
    "from sklearn.model_selection import StratifiedShuffleSplit\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.naive_bayes import GaussianNB\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.metrics import recall_score\n",
    "from sklearn.metrics import precision_score\n",
    "from sklearn.metrics import f1_score\n",
    "plt.rcParams['font.sans-serif'] = ['Simhei']\n",
    "plt.rcParams['axes.unicode_minus']=False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "68e8939e",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv('D:/案例梳理流程/电信行业用户流失分析案例/WA_Fn-UseC_-Telco-Customer-Churn.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "8d42e123",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>customerID</th>\n",
       "      <th>gender</th>\n",
       "      <th>SeniorCitizen</th>\n",
       "      <th>Partner</th>\n",
       "      <th>Dependents</th>\n",
       "      <th>tenure</th>\n",
       "      <th>PhoneService</th>\n",
       "      <th>MultipleLines</th>\n",
       "      <th>InternetService</th>\n",
       "      <th>OnlineSecurity</th>\n",
       "      <th>...</th>\n",
       "      <th>DeviceProtection</th>\n",
       "      <th>TechSupport</th>\n",
       "      <th>StreamingTV</th>\n",
       "      <th>StreamingMovies</th>\n",
       "      <th>Contract</th>\n",
       "      <th>PaperlessBilling</th>\n",
       "      <th>PaymentMethod</th>\n",
       "      <th>MonthlyCharges</th>\n",
       "      <th>TotalCharges</th>\n",
       "      <th>Churn</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>7590-VHVEG</td>\n",
       "      <td>Female</td>\n",
       "      <td>0</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>1</td>\n",
       "      <td>No</td>\n",
       "      <td>No phone service</td>\n",
       "      <td>DSL</td>\n",
       "      <td>No</td>\n",
       "      <td>...</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Electronic check</td>\n",
       "      <td>29.85</td>\n",
       "      <td>29.85</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5575-GNVDE</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>34</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>DSL</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>One year</td>\n",
       "      <td>No</td>\n",
       "      <td>Mailed check</td>\n",
       "      <td>56.95</td>\n",
       "      <td>1889.5</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3668-QPYBK</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>2</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>DSL</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Mailed check</td>\n",
       "      <td>53.85</td>\n",
       "      <td>108.15</td>\n",
       "      <td>Yes</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7795-CFOCW</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>45</td>\n",
       "      <td>No</td>\n",
       "      <td>No phone service</td>\n",
       "      <td>DSL</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>One year</td>\n",
       "      <td>No</td>\n",
       "      <td>Bank transfer (automatic)</td>\n",
       "      <td>42.30</td>\n",
       "      <td>1840.75</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>9237-HQITU</td>\n",
       "      <td>Female</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>2</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>Fiber optic</td>\n",
       "      <td>No</td>\n",
       "      <td>...</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Electronic check</td>\n",
       "      <td>70.70</td>\n",
       "      <td>151.65</td>\n",
       "      <td>Yes</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>9305-CDSKC</td>\n",
       "      <td>Female</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>8</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Fiber optic</td>\n",
       "      <td>No</td>\n",
       "      <td>...</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Electronic check</td>\n",
       "      <td>99.65</td>\n",
       "      <td>820.5</td>\n",
       "      <td>Yes</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1452-KIOVK</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>22</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Fiber optic</td>\n",
       "      <td>No</td>\n",
       "      <td>...</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Credit card (automatic)</td>\n",
       "      <td>89.10</td>\n",
       "      <td>1949.4</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>6713-OKOMC</td>\n",
       "      <td>Female</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>10</td>\n",
       "      <td>No</td>\n",
       "      <td>No phone service</td>\n",
       "      <td>DSL</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>No</td>\n",
       "      <td>Mailed check</td>\n",
       "      <td>29.75</td>\n",
       "      <td>301.9</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>7892-POOKP</td>\n",
       "      <td>Female</td>\n",
       "      <td>0</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>28</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Fiber optic</td>\n",
       "      <td>No</td>\n",
       "      <td>...</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Electronic check</td>\n",
       "      <td>104.80</td>\n",
       "      <td>3046.05</td>\n",
       "      <td>Yes</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>6388-TABGU</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>62</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>DSL</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>One year</td>\n",
       "      <td>No</td>\n",
       "      <td>Bank transfer (automatic)</td>\n",
       "      <td>56.15</td>\n",
       "      <td>3487.95</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>9763-GRSKD</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>13</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>DSL</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Mailed check</td>\n",
       "      <td>49.95</td>\n",
       "      <td>587.45</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>7469-LKBCI</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>16</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No internet service</td>\n",
       "      <td>...</td>\n",
       "      <td>No internet service</td>\n",
       "      <td>No internet service</td>\n",
       "      <td>No internet service</td>\n",
       "      <td>No internet service</td>\n",
       "      <td>Two year</td>\n",
       "      <td>No</td>\n",
       "      <td>Credit card (automatic)</td>\n",
       "      <td>18.95</td>\n",
       "      <td>326.8</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>8091-TTVAX</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>58</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Fiber optic</td>\n",
       "      <td>No</td>\n",
       "      <td>...</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>One year</td>\n",
       "      <td>No</td>\n",
       "      <td>Credit card (automatic)</td>\n",
       "      <td>100.35</td>\n",
       "      <td>5681.1</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0280-XJGEX</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>49</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Fiber optic</td>\n",
       "      <td>No</td>\n",
       "      <td>...</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Bank transfer (automatic)</td>\n",
       "      <td>103.70</td>\n",
       "      <td>5036.3</td>\n",
       "      <td>Yes</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>5129-JLPIS</td>\n",
       "      <td>Male</td>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>25</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>Fiber optic</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Electronic check</td>\n",
       "      <td>105.50</td>\n",
       "      <td>2686.05</td>\n",
       "      <td>No</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>15 rows × 21 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    customerID  gender  SeniorCitizen Partner Dependents  tenure PhoneService  \\\n",
       "0   7590-VHVEG  Female              0     Yes         No       1           No   \n",
       "1   5575-GNVDE    Male              0      No         No      34          Yes   \n",
       "2   3668-QPYBK    Male              0      No         No       2          Yes   \n",
       "3   7795-CFOCW    Male              0      No         No      45           No   \n",
       "4   9237-HQITU  Female              0      No         No       2          Yes   \n",
       "5   9305-CDSKC  Female              0      No         No       8          Yes   \n",
       "6   1452-KIOVK    Male              0      No        Yes      22          Yes   \n",
       "7   6713-OKOMC  Female              0      No         No      10           No   \n",
       "8   7892-POOKP  Female              0     Yes         No      28          Yes   \n",
       "9   6388-TABGU    Male              0      No        Yes      62          Yes   \n",
       "10  9763-GRSKD    Male              0     Yes        Yes      13          Yes   \n",
       "11  7469-LKBCI    Male              0      No         No      16          Yes   \n",
       "12  8091-TTVAX    Male              0     Yes         No      58          Yes   \n",
       "13  0280-XJGEX    Male              0      No         No      49          Yes   \n",
       "14  5129-JLPIS    Male              0      No         No      25          Yes   \n",
       "\n",
       "       MultipleLines InternetService       OnlineSecurity  ...  \\\n",
       "0   No phone service             DSL                   No  ...   \n",
       "1                 No             DSL                  Yes  ...   \n",
       "2                 No             DSL                  Yes  ...   \n",
       "3   No phone service             DSL                  Yes  ...   \n",
       "4                 No     Fiber optic                   No  ...   \n",
       "5                Yes     Fiber optic                   No  ...   \n",
       "6                Yes     Fiber optic                   No  ...   \n",
       "7   No phone service             DSL                  Yes  ...   \n",
       "8                Yes     Fiber optic                   No  ...   \n",
       "9                 No             DSL                  Yes  ...   \n",
       "10                No             DSL                  Yes  ...   \n",
       "11                No              No  No internet service  ...   \n",
       "12               Yes     Fiber optic                   No  ...   \n",
       "13               Yes     Fiber optic                   No  ...   \n",
       "14                No     Fiber optic                  Yes  ...   \n",
       "\n",
       "       DeviceProtection          TechSupport          StreamingTV  \\\n",
       "0                    No                   No                   No   \n",
       "1                   Yes                   No                   No   \n",
       "2                    No                   No                   No   \n",
       "3                   Yes                  Yes                   No   \n",
       "4                    No                   No                   No   \n",
       "5                   Yes                   No                  Yes   \n",
       "6                    No                   No                  Yes   \n",
       "7                    No                   No                   No   \n",
       "8                   Yes                  Yes                  Yes   \n",
       "9                    No                   No                   No   \n",
       "10                   No                   No                   No   \n",
       "11  No internet service  No internet service  No internet service   \n",
       "12                  Yes                   No                  Yes   \n",
       "13                  Yes                   No                  Yes   \n",
       "14                  Yes                  Yes                  Yes   \n",
       "\n",
       "        StreamingMovies        Contract PaperlessBilling  \\\n",
       "0                    No  Month-to-month              Yes   \n",
       "1                    No        One year               No   \n",
       "2                    No  Month-to-month              Yes   \n",
       "3                    No        One year               No   \n",
       "4                    No  Month-to-month              Yes   \n",
       "5                   Yes  Month-to-month              Yes   \n",
       "6                    No  Month-to-month              Yes   \n",
       "7                    No  Month-to-month               No   \n",
       "8                   Yes  Month-to-month              Yes   \n",
       "9                    No        One year               No   \n",
       "10                   No  Month-to-month              Yes   \n",
       "11  No internet service        Two year               No   \n",
       "12                  Yes        One year               No   \n",
       "13                  Yes  Month-to-month              Yes   \n",
       "14                  Yes  Month-to-month              Yes   \n",
       "\n",
       "                PaymentMethod MonthlyCharges  TotalCharges Churn  \n",
       "0            Electronic check          29.85         29.85    No  \n",
       "1                Mailed check          56.95        1889.5    No  \n",
       "2                Mailed check          53.85        108.15   Yes  \n",
       "3   Bank transfer (automatic)          42.30       1840.75    No  \n",
       "4            Electronic check          70.70        151.65   Yes  \n",
       "5            Electronic check          99.65         820.5   Yes  \n",
       "6     Credit card (automatic)          89.10        1949.4    No  \n",
       "7                Mailed check          29.75         301.9    No  \n",
       "8            Electronic check         104.80       3046.05   Yes  \n",
       "9   Bank transfer (automatic)          56.15       3487.95    No  \n",
       "10               Mailed check          49.95        587.45    No  \n",
       "11    Credit card (automatic)          18.95         326.8    No  \n",
       "12    Credit card (automatic)         100.35        5681.1    No  \n",
       "13  Bank transfer (automatic)         103.70        5036.3   Yes  \n",
       "14           Electronic check         105.50       2686.05    No  \n",
       "\n",
       "[15 rows x 21 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head(15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "964d3d1b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(7043, 21)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看数据规模  此数据有7043行  21列\n",
    "data.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b3f07481",
   "metadata": {},
   "source": [
    "## 查看数据类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "b18d28dd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 7043 entries, 0 to 7042\n",
      "Data columns (total 21 columns):\n",
      " #   Column            Non-Null Count  Dtype  \n",
      "---  ------            --------------  -----  \n",
      " 0   customerID        7043 non-null   object \n",
      " 1   gender            7043 non-null   object \n",
      " 2   SeniorCitizen     7043 non-null   int64  \n",
      " 3   Partner           7043 non-null   object \n",
      " 4   Dependents        7043 non-null   object \n",
      " 5   tenure            7043 non-null   int64  \n",
      " 6   PhoneService      7043 non-null   object \n",
      " 7   MultipleLines     7043 non-null   object \n",
      " 8   InternetService   7043 non-null   object \n",
      " 9   OnlineSecurity    7043 non-null   object \n",
      " 10  OnlineBackup      7043 non-null   object \n",
      " 11  DeviceProtection  7043 non-null   object \n",
      " 12  TechSupport       7043 non-null   object \n",
      " 13  StreamingTV       7043 non-null   object \n",
      " 14  StreamingMovies   7043 non-null   object \n",
      " 15  Contract          7043 non-null   object \n",
      " 16  PaperlessBilling  7043 non-null   object \n",
      " 17  PaymentMethod     7043 non-null   object \n",
      " 18  MonthlyCharges    7043 non-null   float64\n",
      " 19  TotalCharges      7043 non-null   object \n",
      " 20  Churn             7043 non-null   object \n",
      "dtypes: float64(1), int64(2), object(18)\n",
      "memory usage: 1.1+ MB\n"
     ]
    }
   ],
   "source": [
    "#查看数据类型和缺失值\n",
    "data.info()"
   ]
  },
  {
   "cell_type": "raw",
   "id": "6934a0fd",
   "metadata": {},
   "source": [
    "TotalCharges总费用 和 MonthlyCharges每月费用  ，都应该是数值型数据\n",
    "转换TotalCharges为数值型数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "efe6cea2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 7043 entries, 0 to 7042\n",
      "Data columns (total 21 columns):\n",
      " #   Column            Non-Null Count  Dtype  \n",
      "---  ------            --------------  -----  \n",
      " 0   customerID        7043 non-null   object \n",
      " 1   gender            7043 non-null   object \n",
      " 2   SeniorCitizen     7043 non-null   int64  \n",
      " 3   Partner           7043 non-null   object \n",
      " 4   Dependents        7043 non-null   object \n",
      " 5   tenure            7043 non-null   int64  \n",
      " 6   PhoneService      7043 non-null   object \n",
      " 7   MultipleLines     7043 non-null   object \n",
      " 8   InternetService   7043 non-null   object \n",
      " 9   OnlineSecurity    7043 non-null   object \n",
      " 10  OnlineBackup      7043 non-null   object \n",
      " 11  DeviceProtection  7043 non-null   object \n",
      " 12  TechSupport       7043 non-null   object \n",
      " 13  StreamingTV       7043 non-null   object \n",
      " 14  StreamingMovies   7043 non-null   object \n",
      " 15  Contract          7043 non-null   object \n",
      " 16  PaperlessBilling  7043 non-null   object \n",
      " 17  PaymentMethod     7043 non-null   object \n",
      " 18  MonthlyCharges    7043 non-null   float64\n",
      " 19  TotalCharges      7032 non-null   float64\n",
      " 20  Churn             7043 non-null   object \n",
      "dtypes: float64(2), int64(2), object(17)\n",
      "memory usage: 1.1+ MB\n"
     ]
    }
   ],
   "source": [
    "#TotalCharges 表示总费用  换为float类型\n",
    "data['TotalCharges']= pd.to_numeric(data['TotalCharges'],errors='coerce')\n",
    "data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "36e7267f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "72a5601a",
   "metadata": {},
   "source": [
    "## 查看并处理缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "42372a17",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "customerID           0\n",
       "gender               0\n",
       "SeniorCitizen        0\n",
       "Partner              0\n",
       "Dependents           0\n",
       "tenure               0\n",
       "PhoneService         0\n",
       "MultipleLines        0\n",
       "InternetService      0\n",
       "OnlineSecurity       0\n",
       "OnlineBackup         0\n",
       "DeviceProtection     0\n",
       "TechSupport          0\n",
       "StreamingTV          0\n",
       "StreamingMovies      0\n",
       "Contract             0\n",
       "PaperlessBilling     0\n",
       "PaymentMethod        0\n",
       "MonthlyCharges       0\n",
       "TotalCharges        11\n",
       "Churn                0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.isnull(data).sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f19acf65",
   "metadata": {},
   "source": [
    "由于缺失值占比极小 所以此处选择删除缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "9c96b60a",
   "metadata": {},
   "outputs": [],
   "source": [
    "data.dropna(inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "ce10edab",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "customerID          0\n",
       "gender              0\n",
       "SeniorCitizen       0\n",
       "Partner             0\n",
       "Dependents          0\n",
       "tenure              0\n",
       "PhoneService        0\n",
       "MultipleLines       0\n",
       "InternetService     0\n",
       "OnlineSecurity      0\n",
       "OnlineBackup        0\n",
       "DeviceProtection    0\n",
       "TechSupport         0\n",
       "StreamingTV         0\n",
       "StreamingMovies     0\n",
       "Contract            0\n",
       "PaperlessBilling    0\n",
       "PaymentMethod       0\n",
       "MonthlyCharges      0\n",
       "TotalCharges        0\n",
       "Churn               0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.isnull(data).sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c1566b06",
   "metadata": {},
   "source": [
    "## 数据归一化处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "c65e9f71",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0\n",
       "1    0\n",
       "2    1\n",
       "3    0\n",
       "4    1\n",
       "5    1\n",
       "6    0\n",
       "7    0\n",
       "8    1\n",
       "9    0\n",
       "Name: Churn, dtype: int64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#数据归一化处理\n",
    "#把Churn 里面的 yes 和 no 分别用  1 和 0 替换 ，方便后面对数据的处理\n",
    "data['Churn'].replace(to_replace='Yes',value=1,inplace=True)\n",
    "data['Churn'].replace(to_replace='No',value=0,inplace=True)\n",
    "data['Churn'].head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "254ec389",
   "metadata": {},
   "source": [
    "# 用户特征分析"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8cee4c2f",
   "metadata": {},
   "source": [
    "根据用户主要特征，将用户属性分为三类："
   ]
  },
  {
   "cell_type": "raw",
   "id": "30a954a4",
   "metadata": {},
   "source": [
    "**用户基本属性**\n",
    "\n",
    "customerID        ：用户ID\n",
    "gender           ：性别（male 男/female 女） \n",
    "SeniorCitizen      ：老年人\n",
    "Partner          ：是否有配偶（yes/no）\n",
    "Dependents        ：非独立生活（yes/no）"
   ]
  },
  {
   "cell_type": "raw",
   "id": "4302fde4",
   "metadata": {},
   "source": [
    "**服务属性**\n",
    "\n",
    "PhoneService       ：是否开通电话服务（yes/no）\n",
    "MultipleLines       ：是否开通多线业务（yes/no）\n",
    "InternetService     ：是否开通网络服务（yes/no）\n",
    "OnlineSecurity      ：是否开通网络安全服务（yes/no）\n",
    "OnlineBackup       ：是否开通在线备份服务（yes/no）\n",
    "DeviceProtection     ：是否开通设备保护业务（yes/no） \n",
    "TechSupport        ：是否开通技术支持服务（yes/no）\n",
    "StreamingTV        ：是否开通网络电视业务（yes/no）\n",
    "StreamingMovies     ：是否开通在线电影业务（yes/no）"
   ]
  },
  {
   "cell_type": "raw",
   "id": "0eeaafc1",
   "metadata": {},
   "source": [
    "**合约费用属性**\n",
    "\n",
    "tenure           ：入网时间（单位月）\n",
    "Contract          ：签订会员的方式（月，一年，两年）\n",
    "PaperlessBilling     ：是否开通电子账单（yes/no）\n",
    "PaymentMethod       ：付款方式（Bank transfer/Credit card/Electronic check/Mailed check）\n",
    "MonthlyCharges      ：每月的费用\n",
    "TotalCharges       ：总费用\n",
    "Churn            ：用户是否流失（yes/no）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e3fd853a",
   "metadata": {},
   "source": [
    "# 数据可视化分析"
   ]
  },
  {
   "cell_type": "raw",
   "id": "0b6b0ec9",
   "metadata": {},
   "source": [
    "查看流失客户占比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "6cb13f0f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '客户流失比例')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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EclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZCkEREclZ+X4XIJKOKmvrC4GpwBTvK/HPU4BJQAHu31A+kJfw54F+jgAtQKv3vWWQn7cAy5rralrG+vcVyVXGWut3DSIpVVlbb4A9gf28ryrv58SwK/etwJ1tAd4BliZ89fy8rLmupsvH2kQymkJQslZlbX0esC9wMHAIcBBwALAPUORjaaPJAqvZEYrzgVeAV5vralr9LEwkEygEJWtU1tYfAJwAHAe8Cxd42RJ2w2WBxbhA7Pl6rbmuJuxrVSJpRiEoGamytj4IHA6ciAu+43Hn6WRgMWAhvYPx9ea6mm5fqxLxkUJQMkJlbX0ZcCwu8E4EjgZCvhaVHdqBJ4GHgAeb62qa/C1HJLUUgpK2KmvrDwPOBmqAd+NWWMrYegcvEIHHm+tq2nyuR2RMKQQlbXgLWd6DC74PA3v5WpB0A8/jAvGh5rqaN/wtR2T0KQTFV5W19cXA+3HBdyYw0deCJJm1wL3ArcDTzXU1evOQjKcQlJSrrK2fAHwIOAc4HZ3by0TLcWF4c3NdzUK/ixHZVQpBSYnK2voAbsT3ZVwAqltR9ngduAW4rbmuZq3fxYgMh0JQxlRlbf0ewBe8rz19LkfGVgx4HBeI/9OiGskECkEZdZW19fm483tfBs5AjdpzURi4B/hrc13Nkz7XIjIghaCMmsra+r2BLwEXALv5W42kkTeBq4BbmutqOvwuRiSRQlBGxGtGfTbwNeBUwPhakKSzzcDfgT8319Us87sYEVAIyi7ypjzPA2qBA30uRzJLDLgT+G1zXc2rfhcjuU0hKMPiXWfvAuAHwEx/q5Es8ATwu+a6mgf8LkRyk0JQhqSytj4EXAh8F9jd53Ik+8wHfgvc2lxXE/e7GMkdCkFJqrK2vgK4BPgmukqDjL23gB8119Xc43chkhsUgtKvytr6ycC3gItJr6usS254Aahtrqt52u9CJLspBKWXytr6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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "churn = data['Churn'].value_counts()\n",
    "# label = data['Churn'].value_counts().index\n",
    "label = ['未流失','流失']\n",
    "\n",
    "plt.figure(figsize=(10,8))\n",
    "plt.pie(churn,labels=label,explode=(0.08,0),autopct='%0.1f%%',shadow=True,textprops={'fontsize':20,'color':'black'})\n",
    "plt.title('客户流失比例',size=25)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "18465748",
   "metadata": {},
   "source": [
    "从上图中看出，流失客户占比为26.6%，占总数的四分之一多一点"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "250cbff9",
   "metadata": {},
   "source": [
    "## 用户属性分析"
   ]
  },
  {
   "cell_type": "raw",
   "id": "5cfaaca4",
   "metadata": {},
   "source": [
    "性别，老年人，配偶，亲属 对客户流失率的影响"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "a3b0ff9d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, '非经济独立（No为独立，Yes为未独立）')"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0IAAAJUCAYAAAA4ppZGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAABgR0lEQVR4nO3debxcZX348c+XBEhICAQI0UARVFRERUpUQJaLggKKBdw3wKWoKG6/tmrRChU3tIri1igKYqVSRGuVpWxBICIEFcUCdQMMKI0IhCA7398fz5lkMpm5mbmZuXNvzuf9ep3XzDznzJln5szMc77n2SIzkSRJkqQ6WW/YGZAkSZKk8WYgJEmSJKl2DIQkSZIk1Y6BkCRJkqTaMRCSJEmSVDsGQpIkSZJqZ+qwMzBWW2yxRW677bbDzoYk1drVV1/9p8ycM+x8TESWU5I0MXQqqyZtILTtttuyePHiYWdDkmotIm4adh4mKsspSZoYOpVVNo2TJEmSVDsGQpIkSZJqx0BIkiRJUu1M2j5CkrQuefDBB1myZAn33XffsLPS1rRp09h6661Zf/31h50VSdKQrGtllYGQJE0AS5YsYeONN2bbbbclIoadnVVkJrfffjtLlixhu+22G3Z2JElDsq6VVTaNk6QJ4L777mPzzTefcAULQESw+eabT9grgJKk8bGulVUGQpI0QUzEgqVhIudNkjR+JnJ50GvebBonSZPIBz7wAS688ELmzp3L4x73OF74whcyMjIy7GxJkgRMrnLKGiFJmiQWLVrEpZdeyuWXX87znvc8FixYMOwsSZK0wmQrpwyEJGmSOO+88zjwwAOJCJ7//Oez/fbbc/7557P33nvz9Kc/nT/+8Y8ce+yxLFy4EIBTTjmFU045BYCRkRH+/u//nuc///kAHHvssRxzzDGrPFeSpLUx2copm8ZJ64Azr1w67CxMWC955pxhZ6FvbrvtNubPnw/AYx/7WA466CCuu+46LrnkEk444QQuuuiijs+94oorePvb384nPvGJFWm//vWvV3nuq171qoG/B/XO33dn69LvW1oXTLZyyhohSZokZs2axfLlywG48sor+cQnPsFhhx0GwJZbbskDDzywyvb33nvvivtPecpTOPTQQ1dZP9pzJUnq1WQrpwyEJGmSePazn835558PwCWXXML06dOZMWPGKttssMEG3H33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\n",
      "text/plain": [
       "<Figure size 1008x720 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#性别 \n",
    "plt.figure(figsize=(14,10))\n",
    "plt.subplot(2,2,1)\n",
    "gender = sns.countplot(x='gender',hue='Churn',data=data,palette='pastel')\n",
    "plt.xlabel('性别',size=20)\n",
    "# plt.title('性别',size=20)\n",
    "\n",
    "#SeniorCitizen  老年人对流失率的影响\n",
    "plt.subplot(2,2,2)\n",
    "SeniorCitizen = sns.countplot(x='SeniorCitizen',hue='Churn',data=data,palette='pastel')\n",
    "plt.xlabel('老年人（0为年轻人，1为老年人）',size=20)\n",
    "# plt.title('老年人',size=20)\n",
    "\n",
    "#配偶\n",
    "plt.subplot(2,2,3)\n",
    "SeniorCitizen = sns.countplot(x='Partner',hue='Churn',data=data,palette='pastel')\n",
    "plt.xlabel('婚姻',size=20)\n",
    "# plt.title('配偶情况',size=20)\n",
    "\n",
    "#亲属\n",
    "plt.subplot(2,2,4)\n",
    "SeniorCitizen = sns.countplot(x='Dependents',hue='Churn',data=data,palette='pastel')\n",
    "plt.xlabel('非经济独立（No为独立，Yes为未独立）',size=20)\n",
    "# plt.title('非经济独立',size=20)\n"
   ]
  },
  {
   "cell_type": "raw",
   "id": "49528133",
   "metadata": {},
   "source": [
    "用户流失情况与用户的性别基本没有关系，不同性别的差异性较小\n",
    "老年用户的流失率比较高，达到40%以上，用户量相对较少\n",
    "未婚用户的流失率比已婚用户的高\n",
    "经济独立的用户流失率要高于经济没有独立的用户，而且用户的数量是经济没独立的二倍"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "d4d8e2c6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1     613\n",
       "72    362\n",
       "2     238\n",
       "3     200\n",
       "4     176\n",
       "     ... \n",
       "38     59\n",
       "28     57\n",
       "39     56\n",
       "44     51\n",
       "36     50\n",
       "Name: tenure, Length: 72, dtype: int64"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.tenure.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "906a0a57",
   "metadata": {},
   "source": [
    "由于tenure职位属性没有种类过多，不具有代表性，也没有更详细的解释说明，此属性可以忽略"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fba147e7",
   "metadata": {},
   "source": [
    "## 服务类属性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "7851addc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'StreamingMovies')"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1008x1008 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(14,14))\n",
    "#OnlineSecurity\n",
    "plt.subplot(3,3,4)\n",
    "gender = sns.countplot(x='OnlineSecurity',hue='Churn',data=data,palette='pastel')\n",
    "plt.title('OnlineSecurity',size=15)\n",
    "\n",
    "#OnlineBackup\n",
    "plt.subplot(3,3,5)\n",
    "gender = sns.countplot(x='OnlineBackup',hue='Churn',data=data,palette='pastel')\n",
    "plt.title('OnlineBackup',size=15)\n",
    "\n",
    "#DeviceProtection\n",
    "plt.subplot(3,3,6)\n",
    "gender = sns.countplot(x='DeviceProtection',hue='Churn',data=data,palette='pastel')\n",
    "plt.title('DeviceProtection',size=15)\n",
    "\n",
    "# TechSupport\n",
    "plt.subplot(3,3,7)\n",
    "gender = sns.countplot(x='TechSupport',hue='Churn',data=data,palette='pastel')\n",
    "plt.title('TechSupport',size=15)\n",
    "\n",
    "#StreamingTV\n",
    "plt.subplot(3,3,8)\n",
    "gender = sns.countplot(x='StreamingTV',hue='Churn',data=data,palette='pastel')\n",
    "plt.title('StreamingTV',size=15)\n",
    "\n",
    "#StreamingMovies\n",
    "plt.subplot(3,3,9)\n",
    "gender = sns.countplot(x='StreamingMovies',hue='Churn',data=data,palette='pastel')\n",
    "plt.title('StreamingMovies',size=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a61a1429",
   "metadata": {},
   "source": [
    "在服务类属性中：\n",
    "    这六个与网络相关的服务类属性，开通服务的用户流失率较低，说明用户比较喜欢此类服务，\n",
    "    OnlineSecurity和TechSupport开通这两个服务的客户更稳定\n",
    "    No internetserive（没有网络服务）这一类客户，流失率基本相同且流失率很低\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "e91067f6",
   "metadata": {},
   "outputs": [],
   "source": [
    "# plt.figure(figsize=(14,14))\n",
    "# #PhoneService\n",
    "# plt.subplot(3,3,1)\n",
    "# gender = sns.countplot(x='PhoneService',hue='Churn',data=data,palette='pastel')\n",
    "# plt.title('PhoneService',size=15)\n",
    "\n",
    "# #MultipleLines\n",
    "# plt.subplot(3,3,2)\n",
    "# gender = sns.countplot(x='MultipleLines',hue='Churn',data=data,palette='pastel')\n",
    "# plt.title('MultipleLines',size=15)\n",
    "\n",
    "\n",
    "# #InternetService\n",
    "# plt.subplot(3,3,3)\n",
    "# gender = sns.countplot(x='InternetService',hue='Churn',data=data,palette='pastel')\n",
    "# plt.title('InternetService',size=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "386534f7",
   "metadata": {},
   "source": [
    "## 合同属性\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "2c514a38",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Contract')"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#签订合同方式 与 客户流失率的 影响\n",
    "\n",
    "plt.figure(figsize=(10,8))\n",
    "sns.barplot(x='Contract',y='Churn',data=data,palette='pastel',)\n",
    "plt.title('Contract',size=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7a9044a5",
   "metadata": {},
   "source": [
    "从柱状图中看出，签订的合同时间月长，流失率越低，可能是因为愿意签订长期合同的用户本身都是比较稳定的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "8630a59c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'PaymentMethod')"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 付款方式对客户流失率的影响\n",
    "\n",
    "plt.figure(figsize=(10,8))\n",
    "sns.barplot(x='PaymentMethod',y='Churn',data=data,palette='Set2')\n",
    "plt.title('PaymentMethod',size=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2ab672df",
   "metadata": {},
   "source": [
    "在四中支付方式中，使用Electronic check的用户流失率最高，其他三种的流失率基本在一个水平上下，由此可推断Electronic check在用户体验，或产品设计上不够友好"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "0486bda0",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\mabing\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n",
      "  warnings.warn(msg, FutureWarning)\n",
      "c:\\users\\mabing\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n",
      "  warnings.warn(msg, FutureWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 720x432 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4cAAAEYCAYAAADvQoMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAABnZklEQVR4nO3dd3gc5bn38e+9Wu2q92bLlnvFBoMNtjHFdEKHBEgIEErCSUgg7eRNpSQ5OUnIIaGEEiCQAgQIGBKqsSF0U4wB917kJlm9193n/WPWttwlWdJK8u9zXXOtZuaZnXs02tXe+zRzziEiIiIiIiKHNl+0AxAREREREZHoU3IoIiIiIiIiSg5FREREREREyaGIiIiIiIig5FBEREREREQAf7QD6A3OPPNM98orr0Q7DBERERERka5kHSmsmkOgtLQ02iGIiIiIiIhElZJDERERERERUXIoIiIiIiIiSg5FREREREQEJYciIiIiIiKCkkMRERERERFByaGIiIiIiIig5FBERERERERQcigiIiIiIiIoORQRERERERHAH+0ARHqbxz8ojHYI+3XZ1IJohyAiIiIi/ZBqDkVERERERETJoYiIiIiIiCg5FBEREREREZQcioiIiIiICEoORUREREREBCWHIiIiIiIiQg8nh2Y208yWmdlWM7vpYMqb2cVm9oqZvWBmZ7XZ/oCZlZtZUWS5uTuuRUREREREpD/psXkOzSwdeBa4FngemG1mHznnXuloeTObCdwCXA7kAE+a2RHOuUJgMjDdObeiu69JRERERESkv+jJmsOzgLXOuVnOuRbgbuCyTpZPB77qnPvUOfcqsBYYZWZBoABY1W1XISIiIiIi0g/1ZHJYAHzcZn0tMKYz5Z1zzzrn3jczv5l9EUgF3gOOBALAWjOrMLMnzSy5Ky9CRERERESkP+rJ5NAHVLZZrwPSDrL8HcDfgD865xqAIHAXMB7IBxKAH+7tyc3sOjObb2bzS0pK2nkJIiIiIiIi/VNPJodl7JrcJQChgynvnPsWMA74sZkd45x70zl3k3Ou3jlXD9wPnLm3J3fOPeCcm+Kcm5Kdnd3hixEREREREelPejI5fBc4oc36VGBDZ8qb2clmlg3gnFsDzAMmmNkZZta2qeog9p+AioiIiIiICD2YHDrnFgEVZnabmZ0C/Ax4rJPlzwDuNLOAmQ0GpgPvA2OB280szcxGAd8Bnuq2ixIREREREeknenSeQ+BCYABwO3Cvc+5RM7vUzGa1t3xk+61AGNgEvAZ82zm3FLgH2AZsBF4FngDu7KZrERERERER6TfMORftGKJuypQpbv78+dEOQ3qJxz8ojHYI+3XZ1IJohyAiIiIifYN1pHBP1xyKiIiIiIhIL6TkUERERERERJQcioiIiIiIiJJDERERERERQcmhiIiIiIiIoORQREREREREUHIoIiIiIiIiKDkUERERERERlByKiIiIiIgISg5FREREREQEJYciIiIiIiKCkkMRERERERFByaGIiIiIiIig5FBERERERERQcigiIiIiIiIoORQRERERERGUHIqIiIiIiAhKDkVERERERAQlhyIiIiIiIoKSQxEREREREaGHk0Mzm2lmy8xsq5nddDDlzexiM3vFzF4ws7PabJ9oZvPNbJuZ3WtmSoBFREREREQOoMcSJzNLB54FfgoUACeZ2ZmdKW9mM4FbgB8BdwGPmVmBmfkjxzwO5AGJwHXddEkiIiIiIiL9Rk/Wqp0FrHXOzXLOtQB3A5d1snw68FXn3KfOuVeBtcAoYCqQAtzpnAsDdxzgHCIiIiIiIgL4e/BcBcDHbdbXAmM6U9459yxApKbwC0Aq8B5wAfCpcy7UznOIiIiIiIgIPVtz6AMq26zXAWkHWf4O4G/AH51zDR05h5ldF+mbOL+kpOQAoYuIiIiIiPRvPZkclrFropYAhPZetH3lnXPfAsYBPzazYzpyDufcA865Kc65KdnZ2e27AhERERERkX6qJ5PDd4ET2qxPBTZ0pryZnWxm2QDOuTXAPGAC8CEwyczi2nkOERERERERoQeTQ+fcIqDCzG4zs1OAnwGPdbL8GcCdZhYws8HAdOB951w58BrwoJkdB9y2v3OIiIiIiIiIp6fnALwQGADcDtzrnHvUzC41s1ntLR/ZfisQBjbhJYPfds4tjey7DqgC7gHmAr/tjgsRERERERHpT3pytFKcc0XAFbttexJ4sr3lI9sbgMv3cUwN8K2DDlZEREREROQQ0tM1hyIiIiIiItILKTkUERERERERJYciIiIiIiKi5FBERERERERQcigiIiIiIiIoORQRERERERGUHIqIiIiIiAhKDkVERERERAQlhyIiIiIiIoKSQxEREREREUHJoYiIiIiIiKDkUERERERE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\n",
      "text/plain": [
       "<Figure size 905x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,6))\n",
    "g = sns.FacetGrid(data = data,hue = 'Churn', height=4, aspect=3)\n",
    "g.map(sns.distplot,'MonthlyCharges',norm_hist=True)\n",
    "g.add_legend()\n",
    "plt.ylabel('density',fontsize=16)\n",
    "plt.xlabel('MonthlyCharges',fontsize=16)\n",
    "plt.tick_params(labelsize=13)     # 设置坐标轴字体大小\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "4b1c1785",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([<matplotlib.axis.XTick at 0x22310f7a9a0>,\n",
       "  <matplotlib.axis.XTick at 0x22310f7a970>],\n",
       " [Text(0, 0, '未流失'), Text(1, 0, '流失')])"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1008x720 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(14,10))\n",
    "\n",
    "plt.subplot(1,2,1)\n",
    "plt.bar(x=['0','1'],height=data.groupby('Churn')['MonthlyCharges'].sum(),color=['lightskyblue','sandybrown'])\n",
    "plt.xticks(size=20)\n",
    "plt.title('月费用',size=20)\n",
    "plt.xticks([0,1],['未流失','流失'])\n",
    "\n",
    "plt.subplot(1,2,2)\n",
    "plt.bar(x=['0','1'],height=data.groupby('Churn')['TotalCharges'].sum(),color=['lightskyblue','sandybrown'])\n",
    "plt.xticks(size=20)\n",
    "plt.title('总费用',size=20)\n",
    "plt.xticks([0,1],['未流失','流失'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "260b9d07",
   "metadata": {},
   "source": [
    "根据付费情合计来看，付费多的用户流失率更低"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "07b49a3e",
   "metadata": {},
   "source": [
    "# 用户流失预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "d6e614ce",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>gender</th>\n",
       "      <th>SeniorCitizen</th>\n",
       "      <th>Partner</th>\n",
       "      <th>Dependents</th>\n",
       "      <th>tenure</th>\n",
       "      <th>PhoneService</th>\n",
       "      <th>MultipleLines</th>\n",
       "      <th>InternetService</th>\n",
       "      <th>OnlineSecurity</th>\n",
       "      <th>OnlineBackup</th>\n",
       "      <th>DeviceProtection</th>\n",
       "      <th>TechSupport</th>\n",
       "      <th>StreamingTV</th>\n",
       "      <th>StreamingMovies</th>\n",
       "      <th>Contract</th>\n",
       "      <th>PaperlessBilling</th>\n",
       "      <th>PaymentMethod</th>\n",
       "      <th>MonthlyCharges</th>\n",
       "      <th>TotalCharges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   gender  SeniorCitizen  Partner  Dependents  tenure  PhoneService  \\\n",
       "0       0              0        0           0       0             0   \n",
       "1       1              0        1           0       1             1   \n",
       "2       1              0        1           0       2             1   \n",
       "3       1              0        1           0       3             0   \n",
       "4       0              0        1           0       2             1   \n",
       "5       0              0        1           0       4             1   \n",
       "6       1              0        1           1       5             1   \n",
       "7       0              0        1           0       6             0   \n",
       "8       0              0        0           0       7             1   \n",
       "9       1              0        1           1       8             1   \n",
       "\n",
       "   MultipleLines  InternetService  OnlineSecurity  OnlineBackup  \\\n",
       "0              0                0               0             0   \n",
       "1              1                0               1             1   \n",
       "2              1                0               1             0   \n",
       "3              0                0               1             1   \n",
       "4              1                1               0             1   \n",
       "5              2                1               0             1   \n",
       "6              2                1               0             0   \n",
       "7              0                0               1             1   \n",
       "8              2                1               0             1   \n",
       "9              1                0               1             0   \n",
       "\n",
       "   DeviceProtection  TechSupport  StreamingTV  StreamingMovies  Contract  \\\n",
       "0                 0            0            0                0         0   \n",
       "1                 1            0            0                0         1   \n",
       "2                 0            0            0                0         0   \n",
       "3                 1            1            0                0         1   \n",
       "4                 0            0            0                0         0   \n",
       "5                 1            0            1                1         0   \n",
       "6                 0            0            1                0         0   \n",
       "7                 0            0            0                0         0   \n",
       "8                 1            1            1                1         0   \n",
       "9                 0            0            0                0         1   \n",
       "\n",
       "   PaperlessBilling  PaymentMethod  MonthlyCharges  TotalCharges  \n",
       "0                 0              0               0             0  \n",
       "1                 1              1               1             1  \n",
       "2                 0              1               2             2  \n",
       "3                 1              2               3             3  \n",
       "4                 0              0               4             4  \n",
       "5                 0              0               5             5  \n",
       "6                 0              3               6             6  \n",
       "7                 1              1               7             7  \n",
       "8                 0              0               8             8  \n",
       "9                 1              2               9             9  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "#因为 用户ID  和  Churn 两列数据 在相关性分析中用不到  所以不提取这两列数据\n",
    "te_zheng = data.iloc[:,1:20]\n",
    "\n",
    "corr_data = te_zheng.apply(lambda x:pd.factorize(x)[0])\n",
    "corr_data.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "13a92eef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '用户是否流失与各类数据之间的相关性')"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#使用 one_hot编码\n",
    "one_hot = pd.get_dummies(data.iloc[:,1:])\n",
    "# one_hot.head()\n",
    "\n",
    "#用户是否流失与各类数据之间的相关性\n",
    "plt.figure(figsize=(16,6))\n",
    "one_hot.corr()['Churn'].sort_values(ascending=False).plot(kind='bar')\n",
    "plt.title('用户是否流失与各类数据之间的相关性',size=15)"
   ]
  },
  {
   "cell_type": "raw",
   "id": "1bfb72a8",
   "metadata": {},
   "source": [
    "从图中可看出，gender 和 PhoneService 在最中间，他们的的值非常接近0，就代表这两个数据对流失情况的影响非常小，zip后面的预测中可以直接舍弃"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "8c24abf9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SeniorCitizen</th>\n",
       "      <th>Partner</th>\n",
       "      <th>Dependents</th>\n",
       "      <th>tenure</th>\n",
       "      <th>MultipleLines</th>\n",
       "      <th>InternetService</th>\n",
       "      <th>OnlineSecurity</th>\n",
       "      <th>OnlineBackup</th>\n",
       "      <th>DeviceProtection</th>\n",
       "      <th>TechSupport</th>\n",
       "      <th>StreamingTV</th>\n",
       "      <th>StreamingMovies</th>\n",
       "      <th>Contract</th>\n",
       "      <th>PaperlessBilling</th>\n",
       "      <th>PaymentMethod</th>\n",
       "      <th>MonthlyCharges</th>\n",
       "      <th>TotalCharges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>1</td>\n",
       "      <td>No phone service</td>\n",
       "      <td>DSL</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Electronic check</td>\n",
       "      <td>29.85</td>\n",
       "      <td>29.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>34</td>\n",
       "      <td>No</td>\n",
       "      <td>DSL</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>One year</td>\n",
       "      <td>No</td>\n",
       "      <td>Mailed check</td>\n",
       "      <td>56.95</td>\n",
       "      <td>1889.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>2</td>\n",
       "      <td>No</td>\n",
       "      <td>DSL</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Mailed check</td>\n",
       "      <td>53.85</td>\n",
       "      <td>108.15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>45</td>\n",
       "      <td>No phone service</td>\n",
       "      <td>DSL</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Yes</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>One year</td>\n",
       "      <td>No</td>\n",
       "      <td>Bank transfer (automatic)</td>\n",
       "      <td>42.30</td>\n",
       "      <td>1840.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>2</td>\n",
       "      <td>No</td>\n",
       "      <td>Fiber optic</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>Month-to-month</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Electronic check</td>\n",
       "      <td>70.70</td>\n",
       "      <td>151.65</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   SeniorCitizen Partner Dependents  tenure     MultipleLines InternetService  \\\n",
       "0              0     Yes         No       1  No phone service             DSL   \n",
       "1              0      No         No      34                No             DSL   \n",
       "2              0      No         No       2                No             DSL   \n",
       "3              0      No         No      45  No phone service             DSL   \n",
       "4              0      No         No       2                No     Fiber optic   \n",
       "\n",
       "  OnlineSecurity OnlineBackup DeviceProtection TechSupport StreamingTV  \\\n",
       "0             No          Yes               No          No          No   \n",
       "1            Yes           No              Yes          No          No   \n",
       "2            Yes          Yes               No          No          No   \n",
       "3            Yes           No              Yes         Yes          No   \n",
       "4             No           No               No          No          No   \n",
       "\n",
       "  StreamingMovies        Contract PaperlessBilling              PaymentMethod  \\\n",
       "0              No  Month-to-month              Yes           Electronic check   \n",
       "1              No        One year               No               Mailed check   \n",
       "2              No  Month-to-month              Yes               Mailed check   \n",
       "3              No        One year               No  Bank transfer (automatic)   \n",
       "4              No  Month-to-month              Yes           Electronic check   \n",
       "\n",
       "   MonthlyCharges  TotalCharges  \n",
       "0           29.85         29.85  \n",
       "1           56.95       1889.50  \n",
       "2           53.85        108.15  \n",
       "3           42.30       1840.75  \n",
       "4           70.70        151.65  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 数据预处理\n",
    "\n",
    "# 由前面分析可知，CustomerID为用户编号 对模型预测没有影响，这里可以删除此列，\n",
    "# gender 和 PhoneService 与客户流失率的相关性很低，可以忽略这两组变量数值\n",
    "sample_data = data.iloc[:,1:20]\n",
    "sample_data.drop('gender',axis=1,inplace=True)\n",
    "sample_data.drop('PhoneService',axis=1,inplace=True)\n",
    "sample_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "4d1ed96d",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 7032 entries, 0 to 7042\n",
      "Data columns (total 17 columns):\n",
      " #   Column            Non-Null Count  Dtype  \n",
      "---  ------            --------------  -----  \n",
      " 0   SeniorCitizen     7032 non-null   int64  \n",
      " 1   Partner           7032 non-null   object \n",
      " 2   Dependents        7032 non-null   object \n",
      " 3   tenure            7032 non-null   int64  \n",
      " 4   MultipleLines     7032 non-null   object \n",
      " 5   InternetService   7032 non-null   object \n",
      " 6   OnlineSecurity    7032 non-null   object \n",
      " 7   OnlineBackup      7032 non-null   object \n",
      " 8   DeviceProtection  7032 non-null   object \n",
      " 9   TechSupport       7032 non-null   object \n",
      " 10  StreamingTV       7032 non-null   object \n",
      " 11  StreamingMovies   7032 non-null   object \n",
      " 12  Contract          7032 non-null   object \n",
      " 13  PaperlessBilling  7032 non-null   object \n",
      " 14  PaymentMethod     7032 non-null   object \n",
      " 15  MonthlyCharges    7032 non-null   float64\n",
      " 16  TotalCharges      7032 non-null   float64\n",
      "dtypes: float64(2), int64(2), object(13)\n",
      "memory usage: 1.2+ MB\n"
     ]
    }
   ],
   "source": [
    "sample_data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "2dc3d7bd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Partner ----- ['Yes' 'No']\n",
      "Dependents ----- ['No' 'Yes']\n",
      "MultipleLines ----- ['No phone service' 'No' 'Yes']\n",
      "InternetService ----- ['DSL' 'Fiber optic' 'No']\n",
      "OnlineSecurity ----- ['No' 'Yes' 'No internet service']\n",
      "OnlineBackup ----- ['Yes' 'No' 'No internet service']\n",
      "DeviceProtection ----- ['No' 'Yes' 'No internet service']\n",
      "TechSupport ----- ['No' 'Yes' 'No internet service']\n",
      "StreamingTV ----- ['No' 'Yes' 'No internet service']\n",
      "StreamingMovies ----- ['No' 'Yes' 'No internet service']\n",
      "Contract ----- ['Month-to-month' 'One year' 'Two year']\n",
      "PaperlessBilling ----- ['Yes' 'No']\n",
      "PaymentMethod ----- ['Electronic check' 'Mailed check' 'Bank transfer (automatic)'\n",
      " 'Credit card (automatic)']\n"
     ]
    }
   ],
   "source": [
    "# 查看对象类型字段中存在的值\n",
    "\n",
    "def uni(label):\n",
    "    print(label,'-----',sample_data[label].unique())\n",
    "    \n",
    "data_object = sample_data.select_dtypes(['object'])\n",
    "for i in range(0,len(data_object.columns)):\n",
    "    uni(data_object.columns[i])"
   ]
  },
  {
   "cell_type": "raw",
   "id": "4c380e09",
   "metadata": {},
   "source": [
    "根据之前的分析来看，No internet service ，对客户流失率影响很小，这些客户不适用网络服务\n",
    "可以把 No internet service 直接用No 来替代\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "0f74dde0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Partner ----- ['Yes' 'No']\n",
      "Dependents ----- ['No' 'Yes']\n",
      "MultipleLines ----- ['No' 'Yes']\n",
      "InternetService ----- ['DSL' 'Fiber optic' 'No']\n",
      "OnlineSecurity ----- ['No' 'Yes']\n",
      "OnlineBackup ----- ['Yes' 'No']\n",
      "DeviceProtection ----- ['No' 'Yes']\n",
      "TechSupport ----- ['No' 'Yes']\n",
      "StreamingTV ----- ['No' 'Yes']\n",
      "StreamingMovies ----- ['No' 'Yes']\n",
      "Contract ----- ['Month-to-month' 'One year' 'Two year']\n",
      "PaperlessBilling ----- ['Yes' 'No']\n",
      "PaymentMethod ----- ['Electronic check' 'Mailed check' 'Bank transfer (automatic)'\n",
      " 'Credit card (automatic)']\n"
     ]
    }
   ],
   "source": [
    "sample_data.replace(to_replace='No internet service',value='No',inplace=True)\n",
    "sample_data.replace(to_replace='No phone service',value='No',inplace=True)\n",
    "# sample_data.replace(to_replace='DSL',value='Yes',inplace=True)\n",
    "# sample_data.replace(to_replace='Fiber optic',value='Yes',inplace=True)\n",
    "\n",
    "\n",
    "for i in range(0,len(data_object.columns)):\n",
    "    uni(data_object.columns[i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "d6682af5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SeniorCitizen</th>\n",
       "      <th>Partner</th>\n",
       "      <th>Dependents</th>\n",
       "      <th>tenure</th>\n",
       "      <th>MultipleLines</th>\n",
       "      <th>InternetService</th>\n",
       "      <th>OnlineSecurity</th>\n",
       "      <th>OnlineBackup</th>\n",
       "      <th>DeviceProtection</th>\n",
       "      <th>TechSupport</th>\n",
       "      <th>StreamingTV</th>\n",
       "      <th>StreamingMovies</th>\n",
       "      <th>Contract</th>\n",
       "      <th>PaperlessBilling</th>\n",
       "      <th>PaymentMethod</th>\n",
       "      <th>MonthlyCharges</th>\n",
       "      <th>TotalCharges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>142</td>\n",
       "      <td>74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>33</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>497</td>\n",
       "      <td>3624</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>435</td>\n",
       "      <td>536</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>266</td>\n",
       "      <td>3570</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>728</td>\n",
       "      <td>674</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   SeniorCitizen  Partner  Dependents  tenure  MultipleLines  InternetService  \\\n",
       "0              0        1           0       0              0                0   \n",
       "1              0        0           0      33              0                0   \n",
       "2              0        0           0       1              0                0   \n",
       "3              0        0           0      44              0                0   \n",
       "4              0        0           0       1              0                1   \n",
       "\n",
       "   OnlineSecurity  OnlineBackup  DeviceProtection  TechSupport  StreamingTV  \\\n",
       "0               0             1                 0            0            0   \n",
       "1               1             0                 1            0            0   \n",
       "2               1             1                 0            0            0   \n",
       "3               1             0                 1            1            0   \n",
       "4               0             0                 0            0            0   \n",
       "\n",
       "   StreamingMovies  Contract  PaperlessBilling  PaymentMethod  MonthlyCharges  \\\n",
       "0                0         0                 1              2             142   \n",
       "1                0         1                 0              3             497   \n",
       "2                0         0                 1              3             435   \n",
       "3                0         1                 0              0             266   \n",
       "4                0         0                 1              2             728   \n",
       "\n",
       "   TotalCharges  \n",
       "0            74  \n",
       "1          3624  \n",
       "2           536  \n",
       "3          3570  \n",
       "4           674  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample_data = sample_data.apply(LabelEncoder().fit_transform)\n",
    "\n",
    "sample_data.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "0a5cf9ac",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-1.28024804, -1.13257905, -1.55819348],\n",
       "       [ 0.06430269, -0.39000277,  0.26923383],\n",
       "       [-1.23950408, -0.51969215, -1.32037054],\n",
       "       ...,\n",
       "       [-0.87280842, -1.14303787, -0.94510448],\n",
       "       [-1.15801615,  0.23125119, -1.00069946],\n",
       "       [ 1.36810945,  1.47166735,  1.56953843]])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 对  职位， 月费用，总费用，这三个数据进行标准化处理\n",
    "\n",
    "scaler = StandardScaler(copy=False)\n",
    "\n",
    "scaler.fit_transform(sample_data[['tenure','MonthlyCharges','TotalCharges']])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "bbffb779",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SeniorCitizen</th>\n",
       "      <th>Partner</th>\n",
       "      <th>Dependents</th>\n",
       "      <th>tenure</th>\n",
       "      <th>MultipleLines</th>\n",
       "      <th>InternetService</th>\n",
       "      <th>OnlineSecurity</th>\n",
       "      <th>OnlineBackup</th>\n",
       "      <th>DeviceProtection</th>\n",
       "      <th>TechSupport</th>\n",
       "      <th>StreamingTV</th>\n",
       "      <th>StreamingMovies</th>\n",
       "      <th>Contract</th>\n",
       "      <th>PaperlessBilling</th>\n",
       "      <th>PaymentMethod</th>\n",
       "      <th>MonthlyCharges</th>\n",
       "      <th>TotalCharges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.280248</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>-1.132579</td>\n",
       "      <td>-1.558193</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.064303</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>-0.390003</td>\n",
       "      <td>0.269234</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.239504</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>-0.519692</td>\n",
       "      <td>-1.320371</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.512486</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.873200</td>\n",
       "      <td>0.241436</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.239504</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.093195</td>\n",
       "      <td>-1.249333</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   SeniorCitizen  Partner  Dependents    tenure  MultipleLines  \\\n",
       "0              0        1           0 -1.280248              0   \n",
       "1              0        0           0  0.064303              0   \n",
       "2              0        0           0 -1.239504              0   \n",
       "3              0        0           0  0.512486              0   \n",
       "4              0        0           0 -1.239504              0   \n",
       "\n",
       "   InternetService  OnlineSecurity  OnlineBackup  DeviceProtection  \\\n",
       "0                0               0             1                 0   \n",
       "1                0               1             0                 1   \n",
       "2                0               1             1                 0   \n",
       "3                0               1             0                 1   \n",
       "4                1               0             0                 0   \n",
       "\n",
       "   TechSupport  StreamingTV  StreamingMovies  Contract  PaperlessBilling  \\\n",
       "0            0            0                0         0                 1   \n",
       "1            0            0                0         1                 0   \n",
       "2            0            0                0         0                 1   \n",
       "3            1            0                0         1                 0   \n",
       "4            0            0                0         0                 1   \n",
       "\n",
       "   PaymentMethod  MonthlyCharges  TotalCharges  \n",
       "0              2       -1.132579     -1.558193  \n",
       "1              3       -0.390003      0.269234  \n",
       "2              3       -0.519692     -1.320371  \n",
       "3              0       -0.873200      0.241436  \n",
       "4              2        0.093195     -1.249333  "
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample_data[['tenure','MonthlyCharges','TotalCharges']] = scaler.fit_transform(sample_data[['tenure','MonthlyCharges','TotalCharges']])\n",
    "\n",
    "sample_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "b64b8247",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '查看异常值')"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,8))\n",
    "sns.boxplot(data=sample_data[['tenure','MonthlyCharges','TotalCharges']],palette='pastel')\n",
    "plt.title('查看异常值',size='20')"
   ]
  },
  {
   "cell_type": "raw",
   "id": "3f6cd52b",
   "metadata": {},
   "source": [
    "由上图可知，这三个变量中没有明显的异常值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "54b9463c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SeniorCitizen</th>\n",
       "      <th>Partner</th>\n",
       "      <th>Dependents</th>\n",
       "      <th>tenure</th>\n",
       "      <th>MultipleLines</th>\n",
       "      <th>InternetService</th>\n",
       "      <th>OnlineSecurity</th>\n",
       "      <th>OnlineBackup</th>\n",
       "      <th>DeviceProtection</th>\n",
       "      <th>TechSupport</th>\n",
       "      <th>StreamingTV</th>\n",
       "      <th>StreamingMovies</th>\n",
       "      <th>Contract</th>\n",
       "      <th>PaperlessBilling</th>\n",
       "      <th>PaymentMethod</th>\n",
       "      <th>MonthlyCharges</th>\n",
       "      <th>TotalCharges</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.280248</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>-1.132579</td>\n",
       "      <td>-1.558193</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.064303</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>-0.390003</td>\n",
       "      <td>0.269234</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.239504</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>-0.519692</td>\n",
       "      <td>-1.320371</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.512486</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.873200</td>\n",
       "      <td>0.241436</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-1.239504</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.093195</td>\n",
       "      <td>-1.249333</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   SeniorCitizen  Partner  Dependents    tenure  MultipleLines  \\\n",
       "0              0        1           0 -1.280248              0   \n",
       "1              0        0           0  0.064303              0   \n",
       "2              0        0           0 -1.239504              0   \n",
       "3              0        0           0  0.512486              0   \n",
       "4              0        0           0 -1.239504              0   \n",
       "\n",
       "   InternetService  OnlineSecurity  OnlineBackup  DeviceProtection  \\\n",
       "0                0               0             1                 0   \n",
       "1                0               1             0                 1   \n",
       "2                0               1             1                 0   \n",
       "3                0               1             0                 1   \n",
       "4                1               0             0                 0   \n",
       "\n",
       "   TechSupport  StreamingTV  StreamingMovies  Contract  PaperlessBilling  \\\n",
       "0            0            0                0         0                 1   \n",
       "1            0            0                0         1                 0   \n",
       "2            0            0                0         0                 1   \n",
       "3            1            0                0         1                 0   \n",
       "4            0            0                0         0                 1   \n",
       "\n",
       "   PaymentMethod  MonthlyCharges  TotalCharges  \n",
       "0              2       -1.132579     -1.558193  \n",
       "1              3       -0.390003      0.269234  \n",
       "2              3       -0.519692     -1.320371  \n",
       "3              0       -0.873200      0.241436  \n",
       "4              2        0.093195     -1.249333  "
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5aab1dc0",
   "metadata": {},
   "source": [
    "# 构建模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "f35870db",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 训练集数据特征： (5609, 17) 训练集数据标签： (5609,) \n",
      " 测试集数据特征： (1403, 17) 测试集数据标签： (1403,)\n"
     ]
    }
   ],
   "source": [
    "'''\n",
    "\n",
    "我们需要将数据拆分为训练集和测试集，用以训练和检验数据。\n",
    "由于我们所有的数据集是不平衡的， 所以对号使用分层交叉验证来确保训练集和测试集都包含每个类的样本的保留人数，\n",
    "交叉验证函数 StartifiedShuffleSplit  %gui能是从样本数据中随机按比例选取训练和测试数据\n",
    "\n",
    "参数 n_splist 是将训练数据分成  train/test  对组的 组数， 默认为10\n",
    "参数 test_size 和 train_size 是用来设置 train/test对组中  train 和test的占比\n",
    "参数 random_state 是控制将样本随机打乱\n",
    "\n",
    "\n",
    "'''\n",
    "#由于没有提供预测的数据 ，这里留出前20行作为 最后的模型检验\n",
    "\n",
    "# 建立训练集 和 测试集\n",
    "\n",
    "\n",
    "X = sample_data[20:]\n",
    "Y = data['Churn'][20:].values\n",
    "\n",
    "X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.2,random_state=400)\n",
    "# X_train.shape,Y_train.shape,X_test.shape,Y_test.shape\n",
    "print(' 训练集数据特征：',X_train.shape,'训练集数据标签：',Y_train.shape,'\\n',\n",
    "      '测试集数据特征：',X_test.shape,'测试集数据标签：',Y_test.shape)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "0f9cfc5d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Y_train = pd.DataFrame(Y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "ea40b242",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import time\n",
    "# 模型处理模块\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "# 标准化处理模块\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "# 常规模型\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "# 集成学习和stacking模型\n",
    "from sklearn.ensemble import AdaBoostClassifier, GradientBoostingClassifier, RandomForestClassifier\n",
    "import xgboost as xgb\n",
    "from xgboost.sklearn import XGBClassifier\n",
    "from mlxtend.classifier import StackingClassifier\n",
    "# 评价标准模块\n",
    "from sklearn import metrics\n",
    "from sklearn.metrics import accuracy_score,roc_auc_score,recall_score,precision_score\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "8ae35d2e",
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_model(X_train, Y_train, X_test, Y_test,\n",
    "               model,model_name):\n",
    "    \n",
    "    print('训练{}'.format(model_name))\n",
    "    \n",
    "    clf=model\n",
    "    start = time.time()\n",
    "    clf.fit(X_train, Y_train)\n",
    "    \n",
    "     #验证模型\n",
    "    print('训练准确率：{:.4f}'.format(clf.score(X_train, Y_train)))\n",
    "    \n",
    "    \n",
    "    predict=clf.predict(X_test)\n",
    "    score = clf.score(X_test, Y_test)\n",
    "    precision=precision_score(Y_test,predict)\n",
    "    recall=recall_score(Y_test,predict)\n",
    "    f1score = f1_score(Y_test,predict)\n",
    "    print('测试准确率：{:.4f}'.format(score))\n",
    "    print('测试精确率：{:.4f}'.format(precision))\n",
    "    print('测试召回率：{:.4f}'.format(recall))\n",
    "    print('测试F1：{:.4f}'.format(f1score))\n",
    "    end = time.time()\n",
    "    duration = end - start\n",
    "    print('模型训练耗时：{:6f}s'.format(duration))\n",
    "    \n",
    "    \n",
    "    return clf, score,precision,recall, duration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "abe3b181",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练LogisticRegression\n",
      "训练准确率：0.8030\n",
      "测试准确率：0.7954\n",
      "测试精确率：0.6866\n",
      "测试召回率：0.4962\n",
      "测试F1：0.5761\n",
      "模型训练耗时：0.026929s\n",
      "训练DecisionTree\n",
      "训练准确率：0.8588\n",
      "测试准确率：0.7527\n",
      "测试精确率：0.5639\n",
      "测试召回率：0.5165\n",
      "测试F1：0.5392\n",
      "模型训练耗时：0.022636s\n",
      "训练AdaBoost\n",
      "训练准确率：0.8073\n",
      "测试准确率：0.8011\n",
      "测试精确率：0.6863\n",
      "测试召回率：0.5344\n",
      "测试F1：0.6009\n",
      "模型训练耗时：0.230383s\n",
      "训练GBDT\n",
      "训练准确率：0.8253\n",
      "测试准确率：0.7919\n",
      "测试精确率：0.6678\n",
      "测试召回率：0.5115\n",
      "测试F1：0.5793\n",
      "模型训练耗时：0.538559s\n",
      "训练RandomForest\n",
      "训练准确率：0.9979\n",
      "测试准确率：0.7798\n",
      "测试精确率：0.6419\n",
      "测试召回率：0.4835\n",
      "测试F1：0.5515\n",
      "模型训练耗时：0.547173s\n",
      "训练XGBoost\n",
      "[15:45:25] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.4.0/src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n",
      "训练准确率：0.9422\n",
      "测试准确率：0.7748\n",
      "测试精确率：0.6122\n",
      "测试召回率：0.5344\n",
      "测试F1：0.5707\n",
      "模型训练耗时：0.350473s\n"
     ]
    }
   ],
   "source": [
    "model_name_param_dict = {    'LogisticRegression': (LogisticRegression(penalty =\"l2\")),\n",
    "                             'DecisionTree': (DecisionTreeClassifier(max_depth=10,min_samples_split=10)),\n",
    "                             'AdaBoost': (AdaBoostClassifier()),\n",
    "                             'GBDT': (GradientBoostingClassifier()),\n",
    "                             'RandomForest': (RandomForestClassifier()),\n",
    "                             'XGBoost':(XGBClassifier())\n",
    "                         }\n",
    "\n",
    "result_df = pd.DataFrame(columns=['Accuracy (%)','precision(%)','recall(%)','Time (s)'],\n",
    "                             index=list(model_name_param_dict.keys()))\n",
    "\n",
    "for model_name, model in model_name_param_dict.items():\n",
    "    clf, acc,pre,recall, mean_duration = train_model(X_train, Y_train,\n",
    "                                                        X_test, Y_test,\n",
    "                                                        model,model_name)\n",
    "    result_df.loc[model_name, 'Accuracy (%)'] = acc\n",
    "    result_df.loc[model_name, 'precision(%)'] = pre\n",
    "    result_df.loc[model_name, 'recall(%)'] = recall\n",
    "    result_df.loc[model_name, 'Time (s)'] = mean_duration \n"
   ]
  },
  {
   "cell_type": "raw",
   "id": "da1cdd95",
   "metadata": {},
   "source": [
    "召回率（recall）：值越大越好\n",
    "精确率、精度（precision）：值越大越好\n",
    "F1分数（F1-Score）：值越大越好"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "de6df927",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "AdaBoostClassifier()"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = AdaBoostClassifier()\n",
    "model.fit(X_train,Y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "42ba58b4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>customerID</th>\n",
       "      <th>Churn</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>7590-VHVEG</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5575-GNVDE</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3668-QPYBK</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7795-CFOCW</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>9237-HQITU</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>9305-CDSKC</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1452-KIOVK</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>6713-OKOMC</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>7892-POOKP</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>6388-TABGU</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>9763-GRSKD</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>7469-LKBCI</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>8091-TTVAX</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0280-XJGEX</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>5129-JLPIS</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>3655-SNQYZ</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>8191-XWSZG</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>9959-WOFKT</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>4190-MFLUW</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>4183-MYFRB</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    customerID  Churn\n",
       "0   7590-VHVEG      1\n",
       "1   5575-GNVDE      0\n",
       "2   3668-QPYBK      0\n",
       "3   7795-CFOCW      0\n",
       "4   9237-HQITU      1\n",
       "5   9305-CDSKC      1\n",
       "6   1452-KIOVK      0\n",
       "7   6713-OKOMC      0\n",
       "8   7892-POOKP      1\n",
       "9   6388-TABGU      0\n",
       "10  9763-GRSKD      0\n",
       "11  7469-LKBCI      0\n",
       "12  8091-TTVAX      0\n",
       "13  0280-XJGEX      0\n",
       "14  5129-JLPIS      1\n",
       "15  3655-SNQYZ      0\n",
       "16  8191-XWSZG      0\n",
       "17  9959-WOFKT      0\n",
       "18  4190-MFLUW      0\n",
       "19  4183-MYFRB      0"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#由于没有提供预测数据集，这里使用前面保留前20行数据来做预测\n",
    "\n",
    "x_jianyan = sample_data[:20]\n",
    "\n",
    "#提取数据的ID\n",
    "x_id = data['customerID'][:20].tail(20)\n",
    "\n",
    "\n",
    "y_jianyan = data['Churn'][:20].values\n",
    "\n",
    "Y_pred = model.predict(x_jianyan)\n",
    "\n",
    "\n",
    "#预测结果\n",
    "# output = pd.DataFrame({'customerID':x_id,'Churn':predic_y,'real':y_jianyan})\n",
    "output = pd.DataFrame({'customerID':x_id,'Churn':Y_pred})\n",
    "output"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2d6c99d6",
   "metadata": {},
   "source": [
    "# 结论与建议"
   ]
  },
  {
   "cell_type": "raw",
   "id": "2354811e",
   "metadata": {},
   "source": [
    "流失用户特征：\n",
    "    从用户属性看：老年用户，经济未独立的用户，未婚的用户 流失更多\n",
    "    从服务类属性看：使用网络但未开通相关网络服务的用户 流失更多\n",
    "    从合同属性看：签订合同短的用户，使用Electronic check支付的用户，付费少的用户 流失更多\n",
    "    \n",
    "建议：\n",
    "1.针对老年用户，和经济未独立的用户，推荐开通使用各项网络服务，或者使其延长会员（签约）的时间，等方式来提高客户的留存情况\n",
    "2.对于Electronic check支付的用户，可以用户体验，或者使支付更加便捷等途径来，降低其流失率（具体原因需要深挖数据找出原因）\n",
    "\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.4"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
